Process control systems are widely used in factories and/or plants in which products are manufactured or processes are controlled (e.g., chemical manufacturing, power plant control, etc.). Process control systems are also used in the harvesting of natural resources such as, for example, oil and gas drilling and handling processes, etc. In fact, virtually any manufacturing process, resource harvesting process, etc. can be automated through the application of one or more process control systems. It is believed the process control systems will eventually be used more extensively in agriculture as well.
Process control systems, like those used in chemical, petroleum or other processes, typically include one or more centralized or decentralized process controllers communicatively coupled to at least one host or operator workstation and to one or more process control and instrumentation devices, such as field devices, via analog, digital or combined analog/digital buses. Field devices, which may be, for example valves, valve positioners, switches, transmitters, and sensors (e.g., temperature, pressure and flow rate sensors), perform functions within the process such as opening or closing valves and measuring process parameters. The process controller receives signals indicative of process measurements or process variables made by or associated with the field devices and/or other information pertaining to the field devices, uses this information to implement a control routine and then generates control signals which are sent over one or more of the buses to the field devices to control the operation of the process. Information from the field devices and the controller is typically made available to one or more applications executed by an operator workstation to enable an operator to perform desired functions with respect to the process, such as viewing the current state of the process, modifying the operation of the process, etc.
The various devices within the process plant may be interconnected in physical and/or logical groups to create a logical process, such as a control loop. Likewise, a control loop may be interconnected with other control loops and/or devices to create sub-units. A sub-unit may be interconnected with other sub-units to create a unit, which in turn, may be interconnected with other units to create an area. Process plants generally include interconnected areas, and business entities generally include process plants which may be interconnected. As a result, a process plant includes numerous levels of hierarchy having interconnected assets, and a business enterprise may include interconnected process plants. In other words, assets related to a process plant, or process plants themselves, may be grouped together to form assets at higher levels.
Process controllers are typically programmed to execute different algorithms, sub routines or control loops (which are all control routines) for each of a number of different loops defined for, or contained within a process, such as flow control loops, temperature control loops, pressure control loops, etc. Generally speaking, each such control loop includes one or more input blocks, such as an analog input (AI) function block, a single output control block, such as a proportional integral derivative (PID) or a fuzzy logic control function block, and a single output block, such as an analog output (AO) function block. These control loops typically perform single input/single output control because the control block creates a single control output used to control a single process input, such as a valve position, etc. However, in certain cases, the use of a number of independently operating, single input/single output control loops is not very effective because the process variables being controlled are affected by more than a single process input and, in fact, each process input may affect the state of many process outputs. For example, single input/single output control loops cause the process outputs to behave in an unacceptable manner wherein the outputs oscillate without ever reaching a steady state condition.
Optimization of the industrial processes has been used to determine the most optimal solution to a particular problem, taking into account maximization of plant revenues, limit emissions, minimize production costs, etc. while meeting customer demands for different products and staying within the limits of resources and equipment. Optimizers have been developed since 1960s. However, problems involved in optimization include selecting one or more optimization variables, choosing an objective function and identifying the set of constraints, such as the examples provided above. Accordingly, the constraints for the problem limit the solution.
Real-Time Optimizers (RTOs) have been used to optimize process functions. Generally, RTO utilizes linear and nonlinear high fidelity models which generally requires substantial development and maintenance efforts. However, difficulties associated with implementing RTO result in few successful installations, much less than successful installations associated with model predictive control (MPC) implementations.
Model predictive control (MPC) or other types of advanced control have been used to perform process control in situations in which changes to a particular controlled process variable affects more than one process variable or output. Since the late 1970s, many successful implementations of model predictive control have been reported and MPC has become the primary form of advanced multivariable control in the process industry. Still further, MPC control has been implemented within distributed control systems as distributed control system layered software. U.S. Pat. Nos. 4,616,308 and 4,349,869 generally describe MPC controllers that can be used within a process control system. A typical MPC applies an optimizer for economic optimization and constraints handling.
Generally speaking, MPC is a multiple input/multiple output control strategy in which the effects of changing each of a number of process inputs on each of a number of process outputs is measured and these measured responses are then used to create a control matrix or a model of the process. The process model or control matrix (which generally defines the dynamic operation of the process) is inverted mathematically and is then used in or as a multiple input/multiple output controller to control the process outputs based on changes made to the process inputs. In some cases, the process model is represented as a process output response curve (typically a step response curve) for each of the process inputs and these curves may be created based on a series of, for example, pseudo random step changes delivered to each of the process inputs. These response curves can be used to model the process in known manners. Model predictive control is known in the art and, as a result, the specifics thereof will not be described herein. However, MPC is described generally in Qin, S. Joe and Thomas A. Badgwell, “An Overview of Industrial Model Predictive Control Technology,” AIChE Conference, 1996.
MPC has been found to be a very effective and useful control technique and has used in conjunction with process optimization. To optimize a process which uses MPC, an optimizer minimizes or maximizes one or more process input variables determined by the MPC routine so as to cause the process to run at an optimal point. While this technique is computationally possible, it is necessary to select the process variables that have, for example, a significant impact on improving the economic operation of the process (e.g. process throughput or quality) to optimize the process from an economic standpoint. Operating the process at an optimal point from a financial or economic viewpoint typically requires controlling many process variables in conjunction with one another, not just a single process variable. The successful implementation of optimizer with MPC can be contributed to such factors as ease of implementing process modeling applied with MPC, integration with the configuration system, MPC feedback used for modeling correction, and utilization of the model prediction of the process steady state in the optimization model. Of these four factors, integration with the configuration system is a significant factor. The configuration system specifies what equipment is available, how the equipment is configured and specifies constraints associated with the equipment.
In most cases when using MPC, the number of manipulated variables available within the process (i.e., the control outputs of the MPC routine) is greater than the number of control variables of the process (i.e., the number of process variables that must be controlled to be at a particular set point). As a result, there are usually more degrees of freedom that are available for optimization and constraint handling. Theoretically, to perform such optimization, values expressed by process variables, constraints, limits and economic factors defining an optimal operation point of the process should be calculated. In many cases, these process variables are constrained variables because they have limits related to physical properties of the process to which they pertain and within which these variables must be kept. For example, a process variable representing tank level is limited to the maximum and minimum levels of the actual tank physically achievable. An optimizing function may calculate the costs and/or profits associated with each of the constrained or auxiliary variables to operate at a level in which profit is maximized, costs are minimized, etc. Measurements of these auxiliary variables can then be provided as inputs to the MPC routine and treated by the MPC routine as control variables having a set point equal to the operational point for the auxiliary variable defined by the optimization routine.
Utilizing the predicted steady state in the optimizer makes it possible to perform optimization without calculating modeled process derivatives, which is a complex and error-prone operation. In normal operating conditions, the MPC optimizer provides an optimal economic solution with an acceptable ranges and limits. However, if the solution does not exist within the predefined ranges and limits, the process optimizer is unable to provide a solution. As a consequence, the process optimizer is unable to provide a solution in every circumstance.
Process simulation in an operating process environment has also been used as process design tools, and have successfully found their way to process control, including operator training, control strategy designing and testing, process optimization and related applications. Introduction of concurrent simulation techniques has extended the simulation concept and its areas of applicability. In particular, with concurrent simulation, a process is simulated concurrently with its operation, thereby creating a simulated process “shadow”. Various simulation techniques may be used with this approach, from high Fidelity first principal models to the “black box” generic modeling. For example, it is known to implement process simulation using HYSYS (a high fidelity simulation program) when designing a plant and to later use that same simulation to assist in performing plant operations. Concurrent simulation allows continuous feedback updates of the modeling results from the process measurements, resulting in superior performance and fidelity to be achieved, particularly compared to simple modeling techniques, such as step responses when concurrent simulation is not applied. As result, the cost of developing and running simulation is dramatically reduced, and is acceptable for common implementation process control systems. Process control systems with concurrent simulation features improved performance and extended functionality including intensive processing system diagnostics and optimization.
It would be useful to apply optimization at the concurrent simulation in a way to retain advantages of the MPC optimization. It would further be useful to provide a process optimizer that provides a solution in any circumstance, regardless of predefined ranges and limits. Existing recovery techniques are based on the priorities of the constrained and controlled variables. In particular, utilization of penalized slack variables may be useful in always, or almost always, providing a feasible solution to a constraint optimization problem.